.custom-button {
  padding: 6px 12px;
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  transition: all 150ms ease-in-out;
  white-space: nowrap;
  font-family: Barlow;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  .leftIcon {
    margin-right: 8px;
  }
  .fa-arrow-right {
    transition: all 150ms ease-in-out;
    transition: translateX(4px);
    margin-left: 4px;
  }
  &:hover:not(&.disabled) {
    .fa-arrow-right {
      transform: translateX(4px);
    }
  }

  &.button--indigo {
    &.button--primary {
      border-color: var(--indigo-600);
      background-color: var(--indigo-600);
      color: var(--white-color);
      &:hover {
        background-color: var(--indigo-700);
      }
      &:focus {
        background-color: var(--indigo-600);
        border-color: var(--indigo-100);
      }
    }
    &.button--secondary {
      background-color: var(--white-color);
      border-color: var(--indigo-600);
      color: var(--indigo-600);
      border-width: 2px;
      &:hover {
        color: var(--indigo-700);
        border-color: var(--indigo-700);
      }
      &:focus {
        border-color: var(--indigo-600);
        color: var(--indigo-600);
      }
    }
    &.button--link {
      background-color: transparent;
      padding: 0;
      text-decoration: underline;
      color: var(--indigo-600);
      text-underline-offset: 2px;
      &:hover {
        color: var(--indigo-700);
      }
      > *:not(i) {
        text-decoration: underline;
      }
    }
  }
  &.button--teal {
    &.button--primary {
      border-color: var(--teal-600);
      background-color: var(--teal-600);
      color: var(--white-color);
      &:hover {
        background-color: var(--teal-700);
      }
      &:focus {
        background-color: var(--teal-600);
        border-color: var(--teal-100);
      }
    }
    &.button--secondary {
      background-color: var(--white-color);
      border-color: var(--teal-600);
      color: var(--teal-600);
      border-width: 2px;
      &:hover {
        color: var(--teal-700);
        border-color: var(--teal-700);
      }
      &:focus {
        border-color: var(--teal-600);
        color: var(--teal-600);
      }
    }
    &.button--link {
      background-color: transparent;
      padding: 0;
      text-decoration: underline;
      color: var(--teal-600);
      text-underline-offset: 2px;
      &:hover {
        color: var(--teal-700);
      }
      > *:not(i) {
        text-decoration: underline;
      }
    }
  }

  &.disabled {
    cursor: not-allowed;
    color: #CBD5E0 !important;
    &.button--primary {
      background: #F7FAFC !important;
      border-color: #F7FAFC !important;
    }
    &.button--secondary {
      border-color: #E2E8F0 !important;
      background-color: var(--white) !important;
    }
  }
}

.badge {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid;
  padding: 8px 16px;
  text-transform: uppercase;
  border-radius: 99px;
  font-family: Barlow;
  font-weight: 700;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: uppercase;

  .leftIcon {
    margin-right: 4px;
  }
  &.color-indigo {
    &.secondary {
      border-color: var(--indigo-600);
      color: var(--indigo-600);
    }
  }
  &.color-teal {
    &.secondary {
      border-color: var(--teal-600);
      color: var(--teal-600);
    }
  }
  &.color-gray {
    &.primary {
      border: none;
      color: var(--primary-font-color);
      background: var(--code-inline-bgd-color);
    }
    &.secondary {

    }
  }
  &.sm {
    padding: 6px 8px;
    font-size: 10px;
  }
}